package com.hzlj.position.locate.common.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fz.common.base.core.JacksonTypeHandlerIgnoreNull;
import com.hzlj.position.config.common.dto.common.PositionHandleExtDTO;
import com.hzlj.position.locate.common.common.AbnWarningTrackDTO;
import lombok.Data;
import lombok.ToString;

import java.util.Date;

/**
 * 禁止区域-定位记录(AbnProhibitAreasPosition)实体类
 *
 * @author lifh
 * @since 2023-05-15 15:35:12
 */
@Data
@ToString
@TableName(value = "abn_prohibit_areas_position", autoResultMap = true)
public class AbnProhibitAreasPosition {
    /**
     * 主键编号
     */
    @TableId(type = IdType.INPUT, value = "id")
    private String id;
    /**
     * 边界设置ID(analysis_prohibit_areas)
     */
    @TableField(value = "prohibit_id")
    private String prohibitId;
    /**
     * 矫正ID(jz_jbxx)
     */
    @TableField(value = "jz_id")
    private String jzId;
    /**
     * 经度
     */
    @TableField(value = "longitude")
    private String longitude;
    /**
     * 纬度
     */
    @TableField(value = "latitude")
    private String latitude;
    /**
     * 定位记录编号
     */
    @TableField(value = "position_id")
    private String positionId;
    /**
     * 位置描述
     */
    @TableField(value = "position",keepGlobalFormat = true)
    private String position;
    /**
     * 定位时间
     */
    @TableField(value = "position_time")
    private Date positionTime;
    /**
     * 处理状态,dict-HANDLE_STATUS
     */
    @TableField(value = "handle_status")
    private String handleStatus;
    /**
     * 异常处理时间,当前更新时间
     */
    @TableField(value = "handle_time")
    private Date handleTime;
    /**
     * 异常处理数据,json-PositionHandleExtDTO
     */
    @TableField(value = "handle_ext", typeHandler = JacksonTypeHandlerIgnoreNull.class)
    private PositionHandleExtDTO handleExt;
    /**
     * 告警跟踪数据,json-AbnWarningTrackDTO
     */
    @TableField(value = "warning_track", typeHandler = JacksonTypeHandlerIgnoreNull.class)
    private AbnWarningTrackDTO warningTrack;
    /**
     * 是否有效
     */
    @TableField(value = "valid")
    private Boolean valid;
    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
    /**
     * 更新人
     */
    @TableField(value = "updater_uid")
    private String updaterUid;
    /**
     * 更新人姓名
     */
    @TableField(value = "updater_name")
    private String updaterName;
    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;
    /**
     * 创建人
     */
    @TableField(value = "creator_uid")
    private String creatorUid;
    /**
     * 更新人姓名
     */
    @TableField(value = "creator_name")
    private String creatorName;
}
